The present disclosure relates generally to computers and software code for controlling access to a computer storage device, and, more specifically, to a system and method for determining a drive determinator used by a volatile storage device and communicating that designator to other programs.
Typically, a computer includes several different storage devices, such as a bank of random access memories (RAM), a hard disk drive and/or a floppy disk drive. The above mentioned storage devices behave differently, and are therefore used differently. RAM provides for very fast but volatile storage of data while the hard disk drive and floppy disk drive (collectively disk drives) provide somewhat slower, but non-volatile storage. Because of their different behaviors and uses, typically disk drives are used for long term storage while RAM is used for short term storage. However, there exists programs, such as RAMDRIVE by Microsoft Corp. of Redmond, Wash., that allow a computer to use the RAM as if it were a disk drive, i.e., a RAM disk. The RAM disk can be used for various applications, even though it is a volatile storage device.
For the sake of example, an application that would benefit from using a RAM disk is a download process used by computer manufacturers for installing software onto a new computer. By using a RAM disk, the download process can run faster, the non-volatile storage devices can remain unused and therefore un-fragmented, and any temporary files created on the RAM disk will be destroyed due to the volatile nature of the RAM disk.
However, using a RAM disk in a download process has several associated difficulties. In operating systems such as DOS, Windows, or Windows 95 by Microsoft Corp., hereinafter represented by DOS, logical drive determinators, or drive letters, for the various logical storage devices on the computer are assigned in sequence, with the drive letter assigned to the RAM disk being determined after all the logical drives on non-volatile storage devices have been assigned their respective drive letters. Therefore, the drive letter to be assigned to the RAM disk is unknown and likely to be different from computer to computer.
Once the drive letter for each logical drive, including the RAM disk, has been assigned, the drive letter for the RAM disk needs to be transmitted to the download process. However, DOS does not support inter-process communications, i.e., the assigned drive letter can not be transmitted to the download process via a DOS environment. A DOS environment is an instantiation of a DOS master environment which contains a series of variable assignments for use by DOS and other programs running on the computer. It is understood that the DOS master environment and instantiations thereof are well understood by those of ordinary skill in the art and therefore, for the sake of clarity and brevity, will not be further discussed.
Therefore, what is needed is a system and method that would allow a process, such as a software download process, to learn the drive determinator for a RAM disk for later use by the process.